home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / self / contrib.lha / contrib / xlib-support / xlibTemplates.self < prev   
Encoding:
Text File  |  1993-05-18  |  25.1 KB  |  720 lines

  1. "Sun-$Revision: 8.1 $"
  2.  
  3. "Copyright 1992 Sun Microsystems, Inc. and Stanford University.
  4.  See the LICENSE file for license information."
  5.  
  6. "CAUTION: This file is not part of the documented Self world.  It may be
  7.  be changed or removed at any time, and it will not be documented.
  8.  This file can be removed without affecting the Self world in any way."
  9.  
  10.  
  11. "Template used by primitiveMaker to create Xlib primitives."
  12.  
  13.  
  14. primitiveMaker reader copy dynamicLinking create: 'xlib' From: ('
  15.  
  16.   -- Copyright 1992 Sun Microsystems, Inc. and Stanford University.
  17.   -- See the LICENSE file for license information.
  18.  
  19.   macroName: xlib
  20.   glueLibraryName: xlib_glue.so
  21.  
  22.  
  23. ','
  24.  
  25.  
  26. traits: traits xlib display raw
  27.   -- display
  28.   // XOpenDisplay and XCloseDisplay are (statically) defined in the VM
  29.   ^ void xDisplayName: string = string call XDisplayName canAWS
  30.   _ Display defaultScreenOfDisplay \
  31.         = Screen {xlib screen deadCopy} call DefaultScreenOfDisplay 
  32.   _ Display connectionNumber = int call ConnectionNumber
  33.  
  34.  
  35.   -- visual info 
  36.   ^ Display xMatchVisualInfoScreen: int Depth: int Class: int \
  37.             = XVisualInfo {xlib xVisualInfo deadCopy} \
  38.           call XMatchVisualInfo_wrap passFailHandle canAWS
  39.  
  40.  
  41.   -- event handling
  42.   ^ Display xEventsQueued: int     = int  call XEventsQueued canAWS
  43.   ^ Display xPending           = int  call XPending      canAWS
  44.   ^ Display xNextEventInto: XEvent = void call XNextEvent    canAWS
  45.   ^ Display xPeekEventInto: XEvent = void call XPeekEvent    canAWS
  46.   ^ Display xPutBackEvent: XEvent  = void call XPutBackEvent canAWS
  47.  
  48.   ^ Display xCheckType: int  OfEvent: XEvent = bool call XCheckTypedEvent canAWS
  49.   ^ Display xCheckMask: long OfEvent: XEvent = bool call XCheckMaskEvent  canAWS
  50.  
  51.  
  52.   -- synchronization
  53.   ^ Display xFlush                  = void call XFlush       canAWS
  54.   ^ Display xSynchronize: bool      = void call XSynchronize canAWS
  55.   ^ Display xSyncDiscardingIf: bool = void call XSync         canAWS
  56.  
  57.  
  58.   -- gc
  59.   // the following uses ANY_SEAL because drawables can be pixmaps or windows
  60.   // since pixmaps and windows are integers, this will not cause a crash
  61.   ^ Display xCreateGCDrawable: proxy Drawable ANY_SEAL \
  62.                     ValueMask: unsigned_long \
  63.                        Values: XGCValues \
  64.             = proxy GC GC_seal {xlib graphicsContext deadCopy} \
  65.               call XCreateGC canAWS
  66.   ^ Display xFreeGC: proxy GC GC_seal = void call XFreeGC canAWS
  67.  
  68.   ^ Display xGetGCValuesGC: proxy GC GC_seal \
  69.          ValueMask: unsigned_long \
  70.             Values: XGCValues \
  71.             = void call XGetGCValues_wrap passFailHandle canAWS
  72.  
  73.   ^ Display xSetGC: proxy GC GC_seal Foreground: unsigned_long \
  74.             = void call XSetForeground canAWS
  75.   ^ Display xSetGC: proxy GC GC_seal Background: unsigned_long \
  76.             = void call XSetBackground canAWS
  77.   ^ Display xSetGC: proxy GC GC_seal Function: int \
  78.             = void call XSetFunction canAWS
  79.   ^ Display xSetGC: proxy GC GC_seal PlaneMask: unsigned_long \
  80.             = void call XSetPlaneMask canAWS
  81.   ^ Display xSetGC: proxy GC GC_seal LineAttributesWidth: unsigned_int \
  82.                            LineStyle: int \
  83.                             CapStyle: int \
  84.                            JoinStyle: int \
  85.             = void call XSetLineAttributes canAWS
  86.   ^ Display xSetGC: proxy GC GC_seal Font: proxy Font Font_seal \
  87.             = void call XSetFont canAWS
  88.   ^ Display xSetGC: proxy GC GC_seal GraphicsExposures: bool \
  89.             = void call XSetGraphicsExposures canAWS
  90.   ^ Display xSetGC: proxy GC GC_seal FillStyle: int \
  91.         = void call XSetFillStyle canAWS
  92.   ^ Display xSetGC: proxy GC GC_seal FillRule: int \
  93.         = void call XSetFillRule canAWS
  94.   ^ Display xSetGC: proxy GC GC_seal Stipple: proxy Pixmap Pixmap_seal \
  95.         = void call XSetStipple canAWS
  96.  
  97.   ^ Display xQueryBestStippleWidth: proxy Drawable ANY_SEAL \
  98.                  Width: int \
  99.                 Height: int \
  100.         = unsigned_long call XQueryBestStippleWidth passFailHandle canAWS
  101.   ^ Display xQueryBestStippleHeight: proxy Drawable ANY_SEAL \
  102.                   Width: int \
  103.                  Height: int \
  104.         = unsigned_long call XQueryBestStippleWidth passFailHandle canAWS
  105.  
  106.  
  107.   -- atom
  108.   _ Display xInternAtom: string OnlyIfExists: bool \
  109.             = proxy Atom Atom_seal {xlib atom deadCopy} call XInternAtom canAWS
  110.  
  111.  
  112.   -- window
  113.   ^ Display xCreateSimpleWindowIn: proxy Window Window_seal \
  114.                                 X: int \
  115.                                 Y: int \
  116.                             Width: unsigned_int \
  117.                            Height: unsigned_int \
  118.                       BorderWidth: unsigned_int \
  119.                            Border: unsigned_long \
  120.                        Background: unsigned_long \
  121.             = proxy Window Window_seal {xlib window deadCopy} \
  122.           call XCreateSimpleWindow canAWS
  123.  
  124.   ^ Display xSetWMProtocolOfWindow: proxy Window Window_seal \
  125.                   Protocol: proxy Atom Atom_seal \
  126.      = int call XSetWMProtocol_wrap canAWS
  127.   ^ Display xSetWMNameOfWindow: proxy Window Window_seal To: XTextProperty \
  128.             = void call XSetWMName canAWS
  129.   ^ Display xSetWMIconNameOfWindow: proxy Window Window_seal To: XTextProperty \
  130.             = void call XSetWMIconName canAWS
  131.   ^ Display xSetWMHintsOfWindow: proxy Window Window_seal To: XWMHints \
  132.             = void call XSetWMHints canAWS
  133.   ^ Display xSetWMNormalHintsOfWindow: proxy Window Window_seal To: XSizeHints \
  134.             = void call XSetWMNormalHints canAWS
  135.  
  136.   ^ Display xSelectInputOfWindow: proxy Window Window_seal EventMask: long \
  137.             = void call XSelectInput canAWS
  138.  
  139.   ^ Display xMapWindow: proxy Window Window_seal = void call XMapWindow canAWS
  140.   ^ Display xRaiseWindow: proxy Window Window_seal \
  141.             = void call XRaiseWindow canAWS
  142.  
  143.  
  144.   -- cursor
  145.   ^ Display xWarpPointerSrcWindow: proxy_null Window Window_seal \
  146.                        DestWindow: proxy_null Window Window_seal \
  147.                              SrcX: int \
  148.                              SrcY: int \
  149.                          SrcWidth: unsigned_int \
  150.                         SrcHeight: unsigned_int \
  151.                             DestX: int \
  152.                             DestY: int \
  153.             = void call XWarpPointer canAWS
  154.  
  155.   ^ Display xGrabPointerWindow: proxy Window Window_seal \
  156.                    OwnerEvents: bool \
  157.                      EventMask: unsigned_int \
  158.                    PointerMode: int \
  159.                   KeyboardMode: int \
  160.                      ConfineTo: proxy_null Window Window_seal \
  161.                         Cursor: proxy_null Cursor Cursor_seal \
  162.                           Time: unsigned_long \
  163.             = int call XGrabPointer  canAWS                        
  164.   ^ Display xUngrabPointerTime: unsigned_long = void call XUngrabPointer canAWS
  165.  
  166.   ^ Display xDefineCursorWindow: proxy      Window Window_seal \
  167.                          Cursor: proxy_null Cursor Cursor_seal \
  168.             = void call XDefineCursor canAWS
  169.   ^ Display xUndefineCursorWindow: proxy Window Window_seal \
  170.             = void call XUndefineCursor canAWS
  171.  
  172.   ^ Display xCreatePixmapCursorSource: proxy      Pixmap Pixmap_seal \
  173.                                  Mask: proxy_null Pixmap Pixmap_seal \
  174.                       ForegroundColor: XColor \
  175.                       BackgroundColor: XColor \
  176.                                     X: unsigned_int \
  177.                                     Y: unsigned_int \
  178.             = proxy Cursor Cursor_seal {xlib cursor deadCopy} \
  179.               call XCreatePixmapCursor canAWS
  180.   ^ Display xFreeCursor: proxy Cursor Cursor_seal = void call XFreeCursor canAWS
  181.  
  182.  
  183.   -- colormap
  184.   ^ Display xCreateColormapWindow: proxy Window Window_seal \
  185.                            Visual: Visual \
  186.                          Allocate: bool \
  187.             = proxy Colormap Colormap_seal {xlib colormap deadCopy} \
  188.               call XCreateColormap canAWS
  189.   ^ Display xFreeColormap: proxy Colormap Colormap_seal \
  190.             = void call XFreeColormap canAWS
  191.  
  192.   ^ Display xSetWindow: proxy Window Window_seal \
  193.               Colormap: proxy Colormap Colormap_seal \
  194.             = void call XSetWindowColormap canAWS
  195.  
  196.   ^ Display xQueryColormap: proxy Colormap Colormap_seal \
  197.                     Colors: oop objVector \
  198.             = void call XQueryColors_wrap passFailHandle canAWS
  199.   ^ Display xStoreColormap: proxy Colormap Colormap_seal \
  200.                     Colors: oop objVector \
  201.             = void call XStoreColors_wrap passFailHandle canAWS
  202.   ^ Display xQueryColormap: proxy Colormap Colormap_seal Color: XColor \
  203.             = void call XQueryColor canAWS
  204.   ^ Display xStoreColormap: proxy Colormap Colormap_seal Color: XColor \
  205.             = void call XStoreColor canAWS
  206.  
  207.  
  208.   -- pixmap
  209.   // the following uses ANY_SEAL because drawables can be pixmaps or windows
  210.   // since pixmaps and windows are integers, this will not cause a crash
  211.   ^ Display xCreateBitmapDrawable: proxy Drawable ANY_SEAL \
  212.                              Data: cbv char* \
  213.                             Width: unsigned_int \
  214.                            Height: unsigned_int \
  215.             = proxy Pixmap Pixmap_seal {xlib pixmap deadCopy} \
  216.           call XCreateBitmapFromData canAWS
  217.  
  218.   // the following uses ANY_SEAL because drawables can be pixmaps or windows
  219.   // since pixmaps and windows are integers, this will not cause a crash
  220.   ^ Display xCreatePixmap: proxy Drawable ANY_SEAL \
  221.                     Width: unsigned_int \
  222.            Height: unsigned_int \
  223.             Depth: unsigned_int \
  224.             = proxy Pixmap Pixmap_seal {xlib pixmap deadCopy} \
  225.           call XCreatePixmap canAWS
  226.   ^ Display xFreePixmap: proxy Pixmap Pixmap_seal \
  227.             = void call XFreePixmap canAWS
  228.  
  229. ','
  230.  
  231.   -- drawing
  232.   // the following uses ANY_SEAL because drawables can be pixmaps or windows
  233.   // since pixmaps and windows are integers, this will not cause a crash
  234.  
  235.   ^ Display xClearWindow: proxy Window Window_seal \
  236.             = void call XClearWindow canAWS
  237.  
  238.   ^ Display xCopyAreaSrc: proxy Drawable ANY_SEAL \
  239.             Dest: proxy Drawable ANY_SEAL \
  240.               GC: proxy GC GC_seal \
  241.             SrcX: int \
  242.             SrcY: int \
  243.            Width: unsigned_int \
  244.           Height: unsigned_int \
  245.            DestX: int \
  246.            DestY: int \
  247.             = void call XCopyArea canAWS
  248.  
  249.   ^ Display xDrawPoint: proxy Drawable ANY_SEAL \
  250.             GC: proxy GC GC_seal \
  251.              X: int \
  252.              Y: int \
  253.             = void call XDrawPoint canAWS
  254.   ^ Display xDrawLine: proxy Drawable ANY_SEAL \
  255.            GC: proxy GC GC_seal \
  256.            X1: int \
  257.            Y1: int \
  258.            X2: int \
  259.            Y2: int \
  260.         = void call XDrawLine canAWS
  261.   ^ Display xDrawRectangle: proxy Drawable ANY_SEAL \
  262.             GC: proxy GC GC_seal \
  263.              X: int \
  264.              Y: int \
  265.              Width: unsigned_int \
  266.             Height: unsigned_int \
  267.             = void call XDrawRectangle canAWS
  268.   ^ Display xFillRectangle: proxy Drawable ANY_SEAL \
  269.             GC: proxy GC GC_seal \
  270.              X: int \
  271.              Y: int \
  272.              Width: unsigned_int \
  273.             Height: unsigned_int \
  274.             = void call XFillRectangle canAWS
  275.   ^ Display xFillPolygon: proxy Drawable ANY_SEAL \
  276.               GC: proxy GC GC_seal \
  277.               Xs: oop objVector \
  278.               Ys: oop objVector \
  279.            Shape: int \
  280.             Mode: int \
  281.             = void call XFillPolygon_wrap passFailHandle canAWS
  282.   ^ Display xDrawArc: proxy Drawable ANY_SEAL \
  283.                      GC: proxy GC GC_seal \
  284.            X: int \
  285.            Y: int \
  286.            Width: unsigned_int \
  287.           Height: unsigned_int \
  288.       StartAngle: int \
  289.         EndAngle: int \
  290.             = void call XDrawArc canAWS
  291.   ^ Display xFillArc: proxy Drawable ANY_SEAL \
  292.                      GC: proxy GC GC_seal \
  293.            X: int \
  294.            Y: int \
  295.            Width: unsigned_int \
  296.           Height: unsigned_int \
  297.       StartAngle: int \
  298.         EndAngle: int \
  299.             = void call XFillArc canAWS
  300.   ^ Display xDrawString: proxy Drawable ANY_SEAL \
  301.              GC: proxy GC GC_seal \
  302.               X: int \
  303.               Y: int \
  304.          String: string_len_null \
  305.         = void call XDrawString canAWS
  306.  
  307.  
  308.   -- font
  309.   ^ Display xQueryFont: proxy Font Font_seal \
  310.             = XFontStruct {xlib xFontStruct deadCopy} \
  311.           call XQueryFont canAWS
  312.   ^ Display xLoadQueryFont: string_null \
  313.             = XFontStruct {xlib xFontStruct deadCopy} \
  314.           call XLoadQueryFont_wrap passFailHandle canAWS
  315.   ^ Display xFreeFont: XFontStruct = void call XFreeFont canAWS
  316.  
  317.  
  318.   -- image
  319.   ^ Display xGetImage: proxy Drawable ANY_SEAL \
  320.             X: int \
  321.             Y: int \
  322.         Width: unsigned_int \
  323.            Height: unsigned_int \
  324.         PlaneMask: unsigned_long \
  325.            Format: int \
  326.             = XImage {xlib xImage deadCopy} call XGetImage canAWS
  327. ','
  328.  
  329.  
  330.  
  331. traits: traits xlib window raw
  332.   ^ void nullWindow \
  333.             = proxy_null Window Window_seal {xlib window deadCopy} get NULL 
  334.  
  335.  
  336.  
  337. traits: traits xlib cursor raw
  338.   ^ void nullCursor \
  339.             = proxy_null Cursor Cursor_seal {xlib cursor deadCopy} get NULL 
  340.  
  341.  
  342.  
  343. traits: traits xlib screen raw
  344.   ^ Screen rootWindowOfScreen \
  345.             = proxy Window Window_seal {xlib window deadCopy} \
  346.           call RootWindowOfScreen
  347.   ^ Screen defaultVisualOfScreen \
  348.             = Visual {xlib visual deadCopy} call DefaultVisualOfScreen
  349.   ^ Screen defaultGCOfScreen \
  350.             = proxy GC GC_seal {xlib graphicsContext deadCopy} \
  351.           call DefaultGCOfScreen
  352.   ^ Screen defaultColormapOfScreen \
  353.         = proxy Colormap Colormap_seal {xlib colormap deadCopy} \
  354.           call DefaultColormapOfScreen
  355.  
  356.   ^ Screen blackPixelOfScreen = unsigned_long call BlackPixelOfScreen
  357.   ^ Screen whitePixelOfScreen = unsigned_long call WhitePixelOfScreen
  358.  
  359.   ^ Screen widthOfScreen  = int call WidthOfScreen
  360.   ^ Screen heightOfScreen = int call HeightOfScreen
  361.   ^ Screen defaultDepthOfScreen = int call DefaultDepthOfScreen
  362.  
  363.   ^ Screen xScreenNumberOfScreen = int call XScreenNumberOfScreen canAWS
  364.  
  365.  
  366.  
  367. traits: traits xlib xVisualInfo raw
  368.   ^ void new = XVisualInfo {xlib xVisualInfo deadCopy} new
  369.   ^ XVisualInfo delete = void delete
  370.  
  371.  
  372.  
  373. traits: traits xlib xFontStruct raw
  374.   ^ XFontStruct xTextWidth: string_len_null = int call XTextWidth canAWS
  375.   ^ XFontStruct fid     = proxy Font Font_seal {xlib font deadCopy} \
  376.               getMember fid
  377.   ^ XFontStruct ascent  = int getMember ascent
  378.   ^ XFontStruct descent = int getMember descent
  379.  
  380.   ^ XFontStruct maxCharWidth  = int call maxCharWidth
  381.   ^ XFontStruct maxCharHeight = int call maxCharHeight
  382.  
  383.  
  384.  
  385. traits: traits xlib xCharStruct raw
  386.   ^ XCharStruct width   = int getMember width
  387.   ^ XCharStruct ascent  = int getMember ascent
  388.   ^ XCharStruct descent = int getMember descent
  389.  
  390.  
  391.  
  392. traits: traits xlib xGCValues raw
  393.   ^ void new = XGCValues {xlib xGCValues deadCopy} new
  394.   ^ XGCValues delete = void delete
  395.  
  396.   ^ XGCValues function           = int getMember function
  397.   ^ XGCValues plane_mask     = unsigned_long getMember plane_mask
  398.   ^ XGCValues foreground     = unsigned_long getMember foreground
  399.   ^ XGCValues background     = unsigned_long getMember background
  400.   ^ XGCValues line_width     = int getMember line_width
  401.   ^ XGCValues fill_style     = int getMember fill_style
  402.   ^ XGCValues fill_rule         = int getMember fill_rule
  403.   ^ XGCValues graphics_exposures = bool getMember graphics_exposures
  404.   ^ XGCValues font         = proxy Font Font_seal {xlib font deadCopy} \
  405.                    getMember font
  406.   ^ XGCValues stipple = proxy Pixmap Pixmap_seal {xlib pixmap deadCopy } \
  407.             getMember stipple
  408.  
  409.  
  410.  
  411. traits: traits xlib xColor raw
  412.   ^ void new = XColor {xlib xColor deadCopy} new
  413.   ^ XColor delete = void delete
  414.  
  415.   ^ XColor pixel = int  getMember pixel
  416.   ^ XColor red   = int  getMember red
  417.   ^ XColor green = int  getMember green
  418.   ^ XColor blue  = int  getMember blue
  419.   ^ XColor flags = char getMember flags
  420.  
  421.   ^ XColor pixel: int  = void setMember pixel
  422.   ^ XColor red:   int  = void setMember red
  423.   ^ XColor green: int  = void setMember green
  424.   ^ XColor blue:  int  = void setMember blue
  425.   ^ XColor flags: char = void setMember flags
  426.  
  427.  
  428.  
  429. traits: traits xlib xImage raw
  430.   ^ XImage xGetPixelX: int Y: int = unsigned_long call XGetPixel canAWS
  431.  
  432. ', '
  433.  
  434.  
  435. traits: traits xlib events xEvent raw
  436.   ^ void new = XEvent {xlib events xEvent deadCopy} new
  437.   _ XEvent basicDelete = void delete
  438.   ^ XEvent type = int getMember type
  439.  
  440.   // this next one is an unfortunate type-safety hole -- dmu
  441.   ^ proxy XEvent* ANY_SEAL asXEvent \
  442.         = XEvent {xlib events xEvent deadCopy} call asXEvent
  443.  
  444.   ^ XEvent       xany      = \
  445.                  XAnyEvent \
  446.     {xlib events xAnyEvent deadCopy} \
  447.         call get_xany_wrap
  448.  
  449.   ^ XEvent       xbutton   = \
  450.                  XButtonEvent \
  451.     {xlib events xButtonEvent deadCopy} \
  452.         call get_xbutton_wrap
  453.   
  454.   ^ XEvent       xclient   = \
  455.                  XClientMessageEvent   \
  456.     {xlib events xClientMessageEvent deadCopy} \
  457.         call get_xclient_wrap
  458.  
  459.   ^ XEvent       xcolormap = \
  460.                  XColormapEvent \
  461.     {xlib events xColormapEvent deadCopy} \
  462.         call get_xcolormap_wrap
  463.  
  464.   ^ XEvent       xconfigure = \
  465.                  XConfigureEvent \
  466.     {xlib events xConfigureEvent deadCopy} \
  467.         call get_xconfigure_wrap
  468.  
  469.   ^ XEvent       xcrossing  = \
  470.                  XCrossingEvent \
  471.     {xlib events xCrossingEvent deadCopy} \
  472.         call get_xcrossing_wrap
  473.  
  474.   ^ XEvent       xexpose  = \
  475.                  XExposeEvent \
  476.     {xlib events xExposeEvent deadCopy} \
  477.         call get_xexpose_wrap
  478.  
  479.   ^ XEvent       xgraphicsexpose  = \
  480.                  XGraphicsExposeEvent \
  481.     {xlib events xGraphicsExposeEvent deadCopy} \
  482.         call get_xgraphicsexpose_wrap
  483.  
  484.   ^ XEvent       xkey  = \
  485.                  XKeyEvent \
  486.     {xlib events xKeyEvent deadCopy} \
  487.         call get_xkey_wrap
  488.  
  489.   ^ XEvent       xmap  = \
  490.                  XMapEvent \
  491.     {xlib events xMapEvent deadCopy} \
  492.         call get_xmap_wrap
  493.  
  494.   ^ XEvent       xmotion  = \
  495.                  XMotionEvent \
  496.     {xlib events xMotionEvent deadCopy} \
  497.         call get_xmotion_wrap
  498.  
  499.   ^ XEvent       xnoexpose  = \
  500.                  XNoExposeEvent \
  501.     {xlib events xNoExposeEvent deadCopy} \
  502.         call get_xnoexpose_wrap
  503.  
  504.   ^ XEvent       xreparent  = \
  505.                  XReparentEvent \
  506.     {xlib events xReparentEvent deadCopy} \
  507.         call get_xreparent_wrap
  508.  
  509.   ^ XEvent       xunmap  = \
  510.                  XUnmapEvent \
  511.     {xlib events xUnmapEvent deadCopy} \
  512.         call get_xunmap_wrap
  513.  
  514.   ^ XEvent       xvisibility  = \
  515.                  XVisibilityEvent \
  516.     {xlib events xVisibilityEvent deadCopy} \
  517.         call get_xvisibility_wrap
  518.  
  519.  
  520.  
  521. traits: traits xlib events xButtonEvent raw
  522.   ^ XButtonEvent x      = int getMember x
  523.   ^ XButtonEvent y      = int getMember y
  524.   ^ XButtonEvent x_root = int getMember x_root
  525.   ^ XButtonEvent y_root = int getMember y_root
  526.   ^ XButtonEvent state  = unsigned_int getMember state
  527.   ^ XButtonEvent button = unsigned_int getMember button
  528.   ^ XButtonEvent window = proxy Window Window_seal {xlib window deadCopy} \
  529.                           getMember window
  530.  
  531.  
  532.  
  533. traits: traits xlib events xClientMessageEvent raw
  534.   ^ XClientMessageEvent message_type \
  535.         = proxy Atom Atom_seal {xlib atom deadCopy} getMember message_type
  536.   ^ XClientMessageEvent format = int getMember format
  537.   ^ XClientMessageEvent atomAt: unsigned_int \
  538.         = proxy Atom Atom_seal {xlib atom deadCopy} \
  539.       call XClientMessageEvent_atomAt_wrap passFailHandle
  540.   ^ XClientMessageEvent window \
  541.     = proxy Window Window_seal {xlib window deadCopy} getMember window
  542.  
  543.  
  544.  
  545. traits: traits xlib events xColormapEvent raw
  546.   ^ XColormapEvent c_new   = bool getMember c_new
  547.   ^ XColormapEvent state   = unsigned_int getMember state
  548.   ^ XColormapEvent window  = proxy Window Window_seal {xlib window deadCopy} \
  549.                              getMember window
  550.  
  551.  
  552.  
  553. traits: traits xlib events xConfigureEvent raw
  554.   ^ XConfigureEvent x      = int getMember x
  555.   ^ XConfigureEvent y      = int getMember y
  556.   ^ XConfigureEvent width  = int getMember width 
  557.   ^ XConfigureEvent height = int getMember height
  558.   ^ XConfigureEvent window = proxy Window Window_seal {xlib window deadCopy} \
  559.                              getMember window
  560.  
  561.  
  562.  
  563. traits: traits xlib events xCrossingEvent raw
  564.   ^ XCrossingEvent window = proxy Window Window_seal {xlib window deadCopy} \
  565.                             getMember window
  566.  
  567.  
  568.  
  569. traits: traits xlib events xExposeEvent raw
  570.   ^ XExposeEvent x      = int getMember x
  571.   ^ XExposeEvent y      = int getMember y
  572.   ^ XExposeEvent width  = int getMember width 
  573.   ^ XExposeEvent height = int getMember height
  574.   ^ XExposeEvent count  = int getMember count
  575.   ^ XExposeEvent window = proxy Window Window_seal {xlib window deadCopy} \
  576.                           getMember window
  577.  
  578.  
  579.  
  580. traits: traits xlib events xGraphicsExposeEvent raw
  581.   ^ XGraphicsExposeEvent x      = int getMember x
  582.   ^ XGraphicsExposeEvent y      = int getMember y
  583.   ^ XGraphicsExposeEvent width  = int getMember width 
  584.   ^ XGraphicsExposeEvent height = int getMember height
  585.   ^ XGraphicsExposeEvent count  = int getMember count
  586.   // the next can return either a pixmap or a window (ie, any drawable).
  587.   // current glue cannot handle this kind of thing.  to get at this member, you
  588.   // will need to write a C wrapper that will return the right kind of proxy.
  589.   // ^ XGraphicsExposeEvent drawable \
  590.   //           = proxy Window Window_seal {xlib window deadCopy} getMember drawable
  591.  
  592.  
  593.  
  594. traits: traits xlib events xKeyEvent raw
  595.   ^ XKeyEvent x       = int getMember x
  596.   ^ XKeyEvent y       = int getMember y
  597.   ^ XKeyEvent x_root  = int getMember x_root
  598.   ^ XKeyEvent y_root  = int getMember y_root
  599.   ^ XKeyEvent state   = unsigned_int getMember state
  600.   ^ XKeyEvent keycode = unsigned_int getMember keycode
  601.   ^ XKeyEvent window  = proxy Window Window_seal {xlib window deadCopy} \
  602.                         getMember window
  603.   ^ XKeyEvent xLookupStringReturn: bv_len char* \
  604.             = int call XLookupString_wrap canAWS
  605.  
  606.  
  607.  
  608. traits: traits xlib events xMapEvent raw
  609.   ^ XMapEvent window = proxy Window Window_seal {xlib window deadCopy} \
  610.                getMember window
  611.  
  612.  
  613.  
  614. traits: traits xlib events xMotionEvent raw
  615.   ^ XMotionEvent x       = int getMember x
  616.   ^ XMotionEvent y       = int getMember y
  617.   ^ XMotionEvent x_root  = int getMember x_root
  618.   ^ XMotionEvent y_root  = int getMember y_root
  619.   ^ XMotionEvent state   = unsigned_int getMember state
  620.   ^ XMotionEvent is_hint = char getMember is_hint
  621.   ^ XMotionEvent window  = proxy Window Window_seal {xlib window deadCopy} \
  622.                            getMember window
  623.  
  624.  
  625.  
  626. traits: traits xlib events xNoExposeEvent raw
  627.   // the next can return either a pixmap or a window (ie, any drawable).
  628.   // current glue cannot handle this kind of thing.  to get at this member, you
  629.   // will need to write a C wrapper that will return the right kind of proxy.
  630.   // ^ XNoExposeEvent drawable
  631.   //        = proxy Window Window_seal {xlib window deadCopy} getMember drawable
  632.  
  633.  
  634.  
  635. traits: traits xlib events xReparentEvent raw
  636.   ^ XReparentEvent x      = int getMember x
  637.   ^ XReparentEvent y      = int getMember y
  638.   ^ XReparentEvent window = proxy Window Window_seal {xlib window deadCopy} \
  639.                 getMember window
  640.   ^ XReparentEvent parent_window \
  641.             = proxy Window Window_seal {xlib window deadCopy} getMember parent
  642.  
  643.  
  644.  
  645. traits: traits xlib events xUnmapEvent raw
  646.   ^ XUnmapEvent window = proxy Window Window_seal {xlib window deadCopy} \
  647.                          getMember window
  648.  
  649.  
  650.  
  651. traits: traits xlib events xVisibilityEvent raw
  652.   ^ XVisibilityEvent state  = unsigned_int getMember state
  653.   ^ XVisibilityEvent window = proxy Window Window_seal {xlib window deadCopy} \
  654.                               getMember window
  655.  
  656.  
  657. ', '
  658.  
  659.  
  660. traits: traits xlib xSizeHints raw
  661.   ^ void new = XSizeHints {xlib xSizeHints deadCopy} call XAllocSizeHints
  662.   ^ XSizeHints delete = void call XFree_XSizeHints_wrap canAWS
  663.  
  664.   ^ XSizeHints flags = long getMember flags
  665.  
  666.   ^ XSizeHints min_width  = int getMember min_width
  667.   ^ XSizeHints min_height = int getMember min_height
  668.   ^ XSizeHints max_width  = int getMember max_width
  669.   ^ XSizeHints max_height = int getMember max_height
  670.  
  671.   ^ XSizeHints flags: long = void setMember flags
  672.  
  673.   ^ XSizeHints min_width:  int = void setMember min_width
  674.   ^ XSizeHints min_height: int = void setMember min_height
  675.   ^ XSizeHints max_width:  int = void setMember max_width
  676.   ^ XSizeHints max_height: int = void setMember max_height
  677.  
  678.  
  679.  
  680. traits: traits xlib xWMHints raw
  681.   ^ void new = XWMHints {xlib xWMHints deadCopy} call XAllocWMHints      
  682.   ^ XWMHints delete = void call XFree_XWMHints_wrap canAWS
  683.  
  684.   ^ XWMHints flags         = long getMember flags
  685.   ^ XWMHints input         = bool getMember input
  686.   ^ XWMHints initial_state = int getMember initial_state
  687.   ^ XWMHints icon_x        = int getMember icon_x
  688.   ^ XWMHints icon_y        = int getMember icon_y
  689.   ^ XWMHints icon_pixmap   = proxy Pixmap Pixmap_seal {xlib pixmap deadCopy} \
  690.                              getMember icon_pixmap
  691.   ^ XWMHints icon_window   = proxy Window Window_seal {xlib window deadCopy} \
  692.                              getMember icon_window
  693.   ^ XWMHints icon_mask     = proxy Pixmap Pixmap_seal {xlib pixmap deadCopy} \
  694.                              getMember icon_mask
  695.  
  696.   ^ XWMHints flags: long        = void setMember flags
  697.   ^ XWMHints input: bool    = void setMember input
  698.   ^ XWMHints initial_state: int = void setMember initial_state
  699.   ^ XWMHints icon_x: int        = void setMember icon_x
  700.   ^ XWMHints icon_y: int    = void setMember icon_y
  701.   ^ XWMHints icon_pixmap: proxy Pixmap Pixmap_seal = void setMember icon_pixmap
  702.   ^ XWMHints icon_window: proxy Window Window_seal = void setMember icon_window
  703.   ^ XWMHints icon_mask:   proxy Pixmap Pixmap_seal = void setMember icon_mask
  704.  
  705.  
  706.  
  707. traits: traits xlib xTextProperty raw
  708.   ^ void new = XTextProperty {xlib xTextProperty deadCopy} new
  709.   _ void freeValue: proxy {char*} XTextProperty_value_seal = void call XFree 
  710.   _ XTextProperty basicDelete = void delete
  711.   _ XTextProperty value \
  712.             = proxy {unsigned char*} XTextProperty_value_seal {proxy deadCopy} \
  713.           getMember value
  714.   ^ XTextProperty xStringToTextProperty: string \
  715.             = int call XStringToTextProperty_wrap canAWS
  716.  
  717.  
  718.  
  719. ')
  720.